View Javadoc

1   package uba.db;
2   
3   import java.io.Serializable;
4   
5   /***
6    * Genera ids númericos en secuencia, partiendo de un número.
7    *
8    * @version $Revision: 1.1 $
9    */
10  public class SimpleNumberSequenceIdGenerator implements IdGenerator {
11      /***
12       * Número inicial utilizado por default.
13       */
14      public static final int DEFAULT_SEQUENCE_START = 1;
15  
16      private int lastId;
17  
18      /***
19       * Este constructor es equivalente a: 
20       * SimpleNumberSequenceIdGenerator(DEFAULT_SEQUENCE_START) 
21       */
22      public SimpleNumberSequenceIdGenerator() {
23          this(DEFAULT_SEQUENCE_START);
24      }
25  
26      /***
27       * Crea una nueva instancia que generará ids númericos a partir del número dado.
28       *
29       * @param start número apartir del cual se generaran los ids.
30       */
31      public SimpleNumberSequenceIdGenerator(int start) {
32          lastId = start;
33      }
34  
35      /***
36       * Cada vez que se llama este método se retorna un id númerico y se incrementa el
37       * contador interno para retornar el siguiente número en la próxima llamada.
38       *
39       * @return una instancia de {@link Integer}
40       */
41      public synchronized Serializable nextId() {
42          return new Integer(lastId++);
43      }
44  }